python可视化1

您所在的位置:网站首页 matplotlib 水平线 python可视化1

python可视化1

2023-05-27 09:14| 来源: 网络整理| 查看: 265

python可视化1——基于matplotlib库 Author: hhgw Date: 2022-08-18  12:45:20 Category: python python可视化 python可视化1——基于matplotlib库

下文主要内容来自课堂讲义,由本人整理。

1. 画图前准备

1.1 pip安装pandas、numpy、plt库;

1.2 中文显示问题:

win系统直接添加:

12plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False

但是在MAC系统下中文字体显示问题报错:

Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans.

解决方法:

在python下输入代码获取自己mac内字体存放路径:matplotlib.matplotlib_fname()

下载黑体字体后拷贝到第1步中找到到路径中存放字体文件夹

大致路径如下

/Users/********/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf

需要在Finder根目录下,按shift+command+. (.是英文句号),开启隐藏目录后删除下图中Fontlist文件。重启python即可。

2. 引例——文件读取

数据,存为.csv文件:

123456,语文 ,数学 ,英语 ,计算机 ,物理 ,化学 ,体育 宋丽英 ,86,64,85,88,90,55,98王大伟 ,92,99,95,94,92,94,90顾亦菲 ,91,87,99,95,95,92,85鲁一平 ,78,99,75,81,83,88,92潘晓雯 ,88,78,98,84,70,95,98

分析每门课的成绩,制作箱型图。

123456import matplotlib.pyplot as pltimport pandas as pd scores=pd.read_csv("data1.csv",index_col=0) plt.rcParams['font.sans-serif']=['SimHei']scores.boxplot()plt.show()

3. 【例1】 条形图的绘制步骤

第一步:导入必要的库

12import matplotlib.pyplot as pltimport numpy as np

第二步:新建绘图区或子绘图区

123plt.figure(figsize=(4,3),facecolor='b') 或者:fig,ax=plt.subplots(figsize=(4,3))

第三步:准备数据

12kc=('语文', '数学', '英语') # 课程信息cj= (70, 95, 80) # 成绩数据

第四步:设置图表属性

12345ax.set_xlabel('课程') #设置X轴的标题 ax.set_ylabel('成绩') #设置Y轴的标题ax.set_title('成绩示例') #设置图表标题ax.set_xticks(np.arange(3)) #设置分类轴的刻度[0,1,2]ax.set_xticklabels(kc) #设置分类轴的显示标签

第五步:绘制图表

12rt = plt.bar(np.arange(3) , cj , label='刘芸')#参数1指定分类轴的刻度,参数2指定作图用的数据,参数3指定图例的标签文本

第六步:显示图例

1ax.legend(bbox_to_anchor=(1,0.8)) #显示图例文字

第七步:显示图表

1plt.show() 3.1 绘图区

Matplotlib的图表区主要包括绘图区、图像和辅助显示对象1 绘图区:包含Canvas、Figure和Axes三个对象,既可以由系统自动创建,也可以根据需要调用Figure()函数创建;2 图像:调用各个绘图函数绘制的柱状图、折线图、饼图和散点图等;3 辅助显示对象:包括标题、坐标轴、坐标轴名称、坐标轴刻度、坐标轴刻度 标签、图表边框线、网格线、图例、前景色等内容;

·创建绘图区

(1)自动创建绘图区:直接调用绘图函数,系统自动创建一个默认大小的绘图区

(2)手动创建绘图区:如下

123import matplotlib.pyplot as pltplt.figure(figsize=(6,4),dpi=72) #绘图区指定为6*4英寸,分辨率为72 plt.plot((3,6)) #绘制一条从顶点(0,3)到顶点(1,6)的直线 ·绘图区函数

(1)figure( )函数 用于生成一个全局绘图区

figure([num=None, figsize=None, dpi=None, facecolor=None……, **kwargs])

注意:当前绘图区上没有建立坐标轴,默认不显示该全局绘图区。如:

plt.figure()

plt.figure(figsize=(6,6),facecolor=‘g’)

(2)axes( )函数 生成坐标系风格的绘图区并显示

plt.axes(arg=None, **kwargs)

plt.axes(rect, projection=None, polar=False, **kwargs)如:plt.axes((0.1,0.3,0.5,0.8),facecolor=’y’)

注意:参数1对应(left,bottom,width,height),坐标原点默认为左下角的(0,0)

·创建子绘图区

(1)subplot( )函数 在全局绘图区创建子绘图区并显示subplot(nrows, ncols, index, **kwargs)注意:如果nrows、ncols和index都小于10缩写为一个整数subplot(323)等价于subplot(3,2,3)plt.subplot(1,1,1) #表示有1行1列,绘制在第1个子绘图区plt.subplot(232) #有2行3列共6个子绘图区,只显示第2个

(2)add_subplot(nrows, ncols, index[, **kwargs]) 用于给已有全局绘图区添加子绘图区

12345678910import matplotlib.pyplot as plt import numpy as np fig1=plt.figure( ) fig1.add_subplot(222) plt.plot((5,3,5),c='b',marker='D') fig1.add_subplot(223) x=np.random.randint(0,100,50) y=np.random.normal(0,100,50) plt.scatter(x,y,c='r')plt.show()

(3)subplots(nrows, ncols, **fig_kw)函数 创建全局绘图区,然后添加多个子绘图区并显示所有子绘图区

1234567import matplotlib.pyplot as plt import numpy as np fig,ax = plt.subplots(nrows=2,ncols=3,figsize=(6,4),dpi=72) plt.subplots_adjust(wspace=0.3,hspace=0.3) #调整子绘图区之间的间隔 ax[0][1].plot((5),'y^') #在第0行第1列的子绘图区绘制一个黄色三角标记 ax[1][2].plot((3,8),'g') #在第1行第2列的子绘图区绘制一条绿色线条plt.show()

注意:[1]当行数与列数值均大于1时,用ax[i][j]访问;[2]当行数或列数只有一个值等于1时,用ax[i]访问;[3]当行数与列数值均等于1时,用plt或ax访问;

3.2 常见图表函数 函数 描述 plt.plot(x,y,color,linewidth,linestyle,label) 根据x,y数组绘制直线或曲线 plt.boxplot(data,label) 绘制一个箱型图 plt.bar(x, height, width, bottom, *, align=’center’, **kwargs) 绘制一个条形图(即柱状图) plt.barh(y, width, height, left, *, align=’center’, **kwargs) 绘制一个横向条形图 plt.polar(theta,r) 绘制极坐标图 plt.pie(data,explode) 绘制饼图 plt.scatter(x,y) 绘制散点图 plt.hist(x,bins,normed) 绘制直方图 plt.contour(X,Y,Z,N) 绘制等高线 3.3 坐标轴设置函数 函数 描述 plt.axis( ) 输出:(0.0, 1.0, 0.0, 1.0) 显示当前坐标轴刻度的取值范围 plt.axes( ) 输出: 显示子绘图区 plt.xlim(xmin=1,xmax=5) 设置X轴刻度取值范围为[1,5] plt.ylim(ymin=3,ymax=6) 设置Y轴刻度取值范围为[3,6] plt.xscale(scale ) scale : [‘linear’ | ‘log’ | ‘logit’ | ‘symlog’] 设置X轴缩放 plt.yscale(scale) 设置Y轴缩放 plt.autoscale( ) 自动缩放轴视图的数据 plt.text(x,y,s,fontdic,withdash) 如:plt.text(0.5,0.5,’Max’) 在指定位置添加注释文本 在两个坐标轴的中间位置输出“Max” plt.grid(True/Flase) 是否显示绘图网格 3.4 标签设置函数 函数 描述 plt.title(“TITLE”,loc=’right’) 设置图表的标题loc:{‘center’,’left’,’right’} plt.xlabel(“水平轴标题”) 设置X轴的标题 plt.ylabel(“垂直轴标题”) 设置Y轴的标题 plt.legend(loc=‘upper right’ )或直接指定相对位置:ax.legend(bbox_to_anchor=(1,0.8)) 在指定位置显示图例一般在绘图函数中用label参数指定图例的文本内容 plt.xticks( ) 如:plt.xticks(np.arange(3), (‘Tom’, ‘Dick’, ‘Harry’)) 设置X轴的刻度范围及显示标签 plt.yticks( ) 如:plt.yticks(np.arange(3), (‘1’,’2’,’3’)) 设置Y轴的刻度范围及显示标签 3.5 绘制线条

plot( ): 用于绘制线条和标记,不仅可以绘制折线图、曲线图,还可以制作 出类似散点图的效果。 plot函数的使用形式为:

plt.plot([x],y, [fmt],**kwargs)

(1)x和y通常是列表或元组等序列,x中存储所有顶点的x坐标序列,y中存储所有顶点的y坐标序列, 其中参数x可以缺省,缺省值为列表[0, 1, 2, …, n-1]。

(2)参数fmt是一个字符串变量,用于定义图表的基本属性,如颜色(color)、标记(marker)、 线型(linestyle)等。

如:plt.plot([2,3],[5,7], ‘bD:’, linewidth=5)

(3)kwargs是一个关键字参数,用于接收0个或多个由属性与属性值组成的键值对。若颜色属性赋值 为”green”、”black”等单词形式,则不能用fmt参数来组合赋值,必须对单个颜色属性赋值。

如:plt.plot([2,3],[5,7], color=’blue’, marker=’D’, linestyle =’:’,linewidth=5)

plt.plot((5),‘ro’) #在坐标(0,5)处绘制一个红色的圆点plt.plot((5,10),‘g’) #从(0,5)到(1,10)绘制一条绿色的直线plt.plot((5,10,3),‘B’) #从(0,5)到(1,10)再到(2,3)绘制一条蓝色的折线

注意:省略x坐标的话,x坐标默认为列表[0,1,2,…,N-1]

小栗子🌰:

12345import matplotlib.pyplot as plt plt.plot((1,3,5),(2,6,4),'y^')plt.plot((3,6),(1,5), color='g', marker='D',linestyle=':',linewidth=2, markersize=12) #plt.plot((3,6),(1,5), c='g', marker='D',ls=':',lw=2,ms=12)plt.show()

1234import matplotlib.pyplot as plt plt.plot((2,1), (3,5), 'g^', (5,1), (6,8), 'r:')#在坐标点(2,3)和(1,5)输出三角形标记 #从坐标点(5,6)到(1,8)绘制红色虚线plt.show()

1234import matplotlib.pyplot as pltplt.plot([5,2,1], [3,1,3], 'yD-', label='line 1', lw=4)plt.legend(loc='center right')plt.show()

线条的类型

linestyle (ls) 描述 ‘-‘ 减号 画实线 ‘:’ 冒号 画短虚线 ‘None’ 不画线 ‘–’ 2个减号 画长虚线 ‘-. ‘ 减号加点 画点划线

线条的标记

marker 描述 marker 描述 ‘o’ 圆圈 ‘.’ 点 ‘D’ 菱形 ‘s’ 正方形 ‘h’ 六边形1 ‘*’ 星号 ‘H’ 六边形2 ‘d’ 小菱形 ‘_’ (下划线) 水平线 ‘v’ 下的角形 ‘8’ 八边形 ‘’ 右三角形 ‘,’ 像素 ‘^’ 上三角形 ‘+’ 加号 ‘|’ 竖线 ‘None’ 无 ‘x’ X

指定颜色控制

缩写 颜色 r’ red ‘g’ green b’ blue ‘c’ cyan ‘m’ magenta ‘y’ yellow ‘w’ white ‘k’ black 4. 绘制常用激活函数的曲线图

分析:激活函数是一种非线性的数学变换,用于对上一层神经元的输出结果进行某种数学变换,将转换后的结果作为下一层神经元的输入,这样的非线性变换有助于实现神经网络模型的非线性分类。常见的三种激活函数如下:1 Sigmoid激活函数2 tanh激活函数(双曲正切函数)3 ReLU激活函数(Rectified Linear Unit, 线性整流函数)

1234567891011121314151617181920212223import numpy as npimport matplotlib.pyplot as plt fig,ax=plt.subplots(nrows=1,ncols=3,figsize=(12,4)) plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False x=np.linspace(-10,10,100)sigm=1/(1+np.exp(-x))tanh = np.tanh(x)relu= (np.abs(x) + x) / 2 ax[0].set_title("sigmoid激活函数") ax[0].plot(x,sigm,color='r',lw=3, ls='-',label='sigmoid函数') ax[0].legend(loc='upper left') ax[1].set_title("tanh激活函数") ax[1].plot(x,tanh,color='g',lw=3, ls='-',label='tanh函数') ax[1].legend(loc='upper left') ax[2].set_title("ReLu激活函数") ax[2].plot(x,relu,color='b',lw=3, ls='-',label='ReLu函数') ax[2].legend(loc='upper left')plt.show( )

5. 绘制五角星并填充为红色

1 坐标原点o(0,0)为坐标原点2 五角星的长轴为R = |oa|,长度已知3 五角星的短轴为r = |oa1|4 角度转化为弧度:rad = π/180 rad

目标效果图:

计算思路(似乎有点不大对,可能需要自己算):

计算方式和代码如下:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960import matplotlib.pyplot as pltimport numpy as npplt.rcParams["font.sans-serif"] = ["SimHei"]fig = plt.figure(figsize=(6, 6), dpi=72)plt.rcParams["axes.unicode_minus"] = FalseR = 10r = R * np.sin(np.pi / 10) / np.cos(np.pi / 5)# 画五角星xa = []ya = []for k in range(0, 11, 1): xx = ((1 + (-1) ** k) / 2 * R + (1 + (-1) ** (k + 1)) / 2 * r) * np.cos( np.pi / 2 + np.pi / 5 + (k + 1) // 2 * np.pi * 2 / 5 + np.pi / 5 * (1 + (-1) ** k) / 2 ) yy = ((1 + (-1) ** k) / 2 * R + (1 + (-1) ** (k + 1)) / 2 * r) * np.sin( np.pi / 2 + np.pi / 5 + (k + 1) // 2 * np.pi * 2 / 5 + np.pi / 5 * (1 + (-1) ** k) / 2 ) xa.append(xx) ya.append(yy)plt.fill(xa, ya, "r")# 画小圆theta = np.arange(0, 2 * np.pi, 0.01)x = r * np.sin(theta)y = r * np.cos(theta)plt.plot(x, y, "g")# 画小五边形k = np.arange(0, 6, 1)x = r * np.cos(np.pi / 2 + np.pi / 5 + k * np.pi * 2 / 5)y = r * np.sin(np.pi / 2 + np.pi / 5 + k * np.pi * 2 / 5)plt.scatter(x, y, color="b", s=100)plt.plot(x, y, "w")# 画大圆theta = np.arange(0, 2 * np.pi, 0.01)x = R * np.sin(theta)y = R * np.cos(theta)plt.plot(x, y, "b")# 画大五边形k = np.arange(0, 6, 1)x = R * np.cos(np.pi / 2 + np.pi / 5 + k * np.pi * 2 / 5 + np.pi / 5)y = R * np.sin(np.pi / 2 + np.pi / 5 + k * np.pi * 2 / 5 + np.pi / 5)plt.plot(x, y, color="orange")plt.scatter(x, y, color="r", s=90)plt.xticks(np.linspace(-10, 10, 5))plt.yticks(np.linspace(-10, 10, 5))plt.title("红五角星")plt.show() 6. 填充12345678910111213141516171819import matplotlib.pyplot as pltimport numpy as npa=1b=0.1 # b的值越大,线越直,值越小,弯曲的角度越大dt=0 #dt控制彩条的初始位置,彩条的个数通过dt的变化来控制 theta=b*np.linspace(0,2*np.pi,10) #点越多,曲线越平滑 x1=a*np.cos(theta+dt)*np.exp(theta) y1=a*np.sin(theta+dt)*np.exp(theta)dt +=0.1 #dt控制彩条的宽度,值越小越窄 x2=a*np.cos(theta+dt)*np.exp(theta) y2=a*np.sin(theta+dt)*np.exp(theta) x3=np.concatenate((x1,x2[::-1]))#将x1序列与x2的逆序坐标点顺序连接成一个新序列 y3=np.concatenate((y1,y2[::-1])) # plt.scatter(x1,y1,color='m') # plt.scatter(x2,y2,color="y")plt.scatter(x3,y3,color="r")plt.fill(x3,y3)plt.show()

循环起来:

123456789101112131415161718192021import matplotlib.pyplot as pltimport numpy as npa=1b=0.3 # b的值越大,线越直,值越小,弯曲的角度越大# dt=0 #dt控制彩条的初始位置,彩条的个数通过dt的变化来控制 theta=b*np.arange(0,2*np.pi,0.5) #点越多,曲线越平滑 for dt in np.arange(0,2*np.pi,np.pi/8): x1=a*np.cos(theta+dt)*np.exp(theta) y1=a*np.sin(theta+dt)*np.exp(theta) # dt +=0.1 #dt控制彩条的宽度,值越小越窄 dt=dt+np.pi/20 x2=a*np.cos(theta+dt)*np.exp(theta) y2=a*np.sin(theta+dt)*np.exp(theta) x3=np.concatenate((x1,x2[::-1])) #将x1序列与x2的逆序坐标点顺序连接成一个新序列 y3=np.concatenate((y1,y2[::-1])) # plt.scatter(x1,y1,color='m') # plt.scatter(x2,y2,color="y") # plt.scatter(x3,y3,color="r") plt.fill(x3,y3)plt.show()

7.绘制柱状图

plt.bar(x,height,width=0.8,bottom=None,……,**kwargs,)

1234567891011121314151617181920212223242526import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['SimHei']fig= plt.figure(figsize=(10,4))seasons=['一季度', '二季度', '三季度','四季度'] #分类轴显示标签saleA= [300,360,210,260]saleB= [380,350, 400,290]index=np.arange(4)barW=0.3 #barW控制条形宽度 fig.add_subplot(121) plt.bar(index,saleA,barW,color='m',label='产品A') plt.bar(index+barW,saleB,barW,color='b',label='产品B') plt.title("并列柱状图") plt.ylabel("销售额(万元)",rotation=90) plt.xticks(index,seasons)plt.legend(loc='upper right')fig.add_subplot(122)plt.bar(index,saleA,barW,color='g',label='产品A')plt.bar(index,saleB,barW,bottom=saleA,color='y',label ='产品B')plt.title("堆叠柱状图") plt.xlabel("时间",loc="right") plt.xticks(index,seasons) plt.legend(loc='upper right') plt.show( )

8.绘制饼图

plt.pie(x,explode=None)

1234567891011import matplotlib.pyplot as pltscore = [800,500,300,200,100] #各项消费数据 plt.rcParams['font.sans-serif']=['SimHei'] #设置中文字体 plt.title("消费分析") #图表标题labels = ['伙食费', '生活用品', '学习用品', '娱乐','其他']#数据标记 explode = (0.1, 0, 0, 0, 0) #第1块分裂出来plt.axis("equal")plt.pie(score, explode=explode, autopct='%4.1f%%', labels=labels)# autopct='%4.1f%%'控制数据标记的格式化显示,显示1位小数 plt.legend(bbox_to_anchor=(1, 1)) #显示图例plt.show( )

9.绘制散点图

plt.scatter(x, y, s=None, c=None, marker=None, cmap=None,**kwargs)

123456789101112131415from sklearn.datasets import load_iris import matplotlib.pyplot as pltfrom matplotlib import cm plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False iris=load_iris()dt=iris.datatg=iris.targetplt.scatter(dt[:,0],dt[:,3],c=tg,marker="*",cmap='viridis') #上一行代码可以改用下面的语句实现用不同标记分别绘制散点,并显示图例 #plt.scatter(dt[tg==0,0],dt[tg==0,3],c='r',marker="o",label="山鸢尾花") #plt.scatter(dt[tg==1,0],dt[tg==1,3],c='g',marker="o",label="变色鸢尾花") #plt.scatter(dt[tg==2,0],dt[tg==2,3],c='b',marker="^",label="维吉尼亚鸢尾花") #plt.legend()plt.show()

改用plot绘制标记

12345678910111213from sklearn.datasets import load_iris import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False iris=load_iris()dt=iris.datatg=iris.target#加载鸢尾花数据,字典类型 #获得数据集,150行,4列 #获得样本的分类信息plt.plot(dt[tg==0,2],dt[tg==0,3],'b^',label='山鸢尾花')plt.plot(dt[tg==1,2],dt[tg==1,3],'r*',label="变色鸢尾花") plt.plot(dt[tg==2,2],dt[tg==2,3],'go',label="维吉尼亚鸢尾花") plt.legend()plt.show()

10.分别用plot 和scatter绘制图案12345678import numpy as npimport matplotlib.pyplot as plt fig=plt.figure(figsize=(6,6)) a=np.arange(0,2*np.pi,0.02) r=np.sin(4*a) x,y=r*np.cos(a),r*np.sin(a)plt.plot(x,y, "b",linewidth=4)plt.show() 1234567891011121314import numpy as npimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"]X=[];Y=[] #注意:初始化不能写成:X=Y=[],会导致X,Y两个列表的元素一样,绘制的是一条直线for a in np.arange(0,2*np.pi,0.02): r=np.sin(4*a) x=r*np.cos(a) #x,y只保存当前计算结果,不是列表 y=r*np.sin(a) X.append(x) Y.append(y)plt.scatter(X,Y,s=5,c="g",marker=".") # 循环外面打点速度快很多plt.title("散点绘制艺术图案")plt.show()

11.用直方图分别显示泰坦尼克号上乘客的性别和年龄分布情况1234567891011121314151617181920import matplotlib.pyplot as pltimport pandas as pddt=pd.read_csv("/Users/hahaguowang/Library/Mobile Documents/com~apple~CloudDocs/大四上/课程/数据科学/new_code/20211020/titanic.csv")fig, ax = plt.subplots(nrows=1,ncols=2,figsize=(10,3)) plt.rcParams['font.sans-serif']=['SimHei'] #设置中文字体 xb=list(dt['Sex'])x1=[0.25,0.75]; xbNum=[]xbNum.append(xb.count("male")) xbNum.append(xb.count("female"))ax[0].hist(xb, bins=2, rwidth=0.5) ax[0].set_title("泰坦尼克号上乘客的性别分布") ax[0].set_xlabel('性别'); ax[0].set_ylabel('人数') ax[0].set_xticks(x1); ax[0].set_xticklabels(['男性','女性']) for a,b in zip(x1,xbNum): #在每个柱形的顶部标记出数据值 ax[0].text(a, b-50, '%.0f' % b, ha='center') age=list(dt['Age'])ax[1].hist(age, bins=15) ax[1].set_title("泰坦尼克号上乘客的年龄分布") ax[1].set_xlabel('年龄'); ax[1].set_ylabel('人数')plt.show()

三维可视化 首先调用figure()函数创建一个绘图区 然后调用Axes3D()函数创建三维坐标系

或者通过gca( )函数获取当前坐标系,并通过参数projection=‘3d’指定 绘制的是三维图表 #GCA表示:Get Current Axes

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure() #创建全局绘图区

ax = Axes3D(fig) #创建三维坐标系 plt.show()

123456789101112from mpl_toolkits.mplot3d import Axes3Dimport numpy as npimport matplotlib.pyplot as pltfig=plt.figure() #新建绘图区ax=Axes3D(fig) #新建三维坐标z=np.arange(-5*np.pi,5*np.pi,0.1) x,y=np.sin(z),np.cos(z) ax.set_xticks(np.linspace(-1,1,4)) ax.set_yticks(np.linspace(-1,1,3)) ax.set_zticks(np.linspace(-20,20,5))plt.plot(x,y,z,c='r')plt.show()

鸢尾花的分类(三维可视化)

123456789101112131415from sklearn import datasetsimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D iris=datasets.load_iris( ) # 从数据库获得数据 data=iris.data #获得自变量数据 target=iris.target # 获得样本的分类信息fig = plt.figure( )ax = fig.add_subplot(111,projection='3d')ax.scatter(data[target==0,0],data[target==0,1],data[target==0,3],c='r',marker='o') ax.scatter(data[target==1,0],data[target==1,1],data[target==1,3],c='g',marker='^') ax.scatter(data[target==2,0],data[target==2,1],data[target==2,3],c='b',marker='*')ax.set_xlim(min(data[:,0]), max(data[:,0])) #设置各个坐标轴值的显示范围 ax.set_ylim(min(data[:,1]), max(data[:,1]))ax.set_zlim(min(data[:,3]), max(data[:,3]))plt.show()

Author: hhgw

License: Copyright (c) 2022 CC-BY-NC-4.0 LICENSE

Slogan: There is no fate but what we make.

Tag(s): # Matplotlib # python # pyplot # 备忘 # python可视化 back · home Numpy基础 Matplotlib.pyplot基本用法


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3